#pragma once

class BBase
{
public:
    BBase() {}
};

class Base : public BBase
{
public:
    Base() {}

};

class FirstDerived : public Base
{
public:
    //FirstDerived(const Base<_Ty>& obj);
    FirstDerived(const BBase& obj) {}
    void test() {}
protected:
private:
};

class SecDerived : public Base
{
public:
    SecDerived() {}
protected:
private:
};